import type { VNode } from 'vue'

export interface ColumnProps {
  /**
   * 子列配置, 用于表头分组
   */
  children?: ColumnProps[]
  /**
   * 自定义渲染函数
   * @param h Vue 的 h 函数
   * @param params 列参数
   * @param params.row 当前行数据
   * @param params.column 当前列数据
   * @param params.index 当前行索引
   * @returns VNode
   */
  render?: (h: typeof import('vue').h, params: { row: any, column: any, $index: number }) => VNode
  /**
   * 自定义插槽名称，用于指定列的插槽内容
   */
  slot?: string
  /**
   * 其他 el-table-column 支持的属性
   */
  [key: string]: any
}
